約 1,390,612 件
https://w.atwiki.jp/hisam/pages/46.html
Ruby 島根県のホームページ管理システムがOSSとして無償公開,地元企業がRubyで開発 もどる [ スポンサード リンク ] は押さないようにしよう。 押すのは自己責任で。
https://w.atwiki.jp/yuyuyu345/pages/13.html
ruby コマンド system("ruby objectlist_getting.rb")
https://w.atwiki.jp/shisaku0017/pages/199.html
Ruby 対応しているフリーウェア一覧 Gruff graphing library for Ruby
https://w.atwiki.jp/multiplication/pages/24.html
(このページのPDF版はこちら→ 掛け算順序固定方式の正当性検証チャート このチャートは、掛け算順序問題の議論の筋道を分かりやすくするために、開米瑞浩@kmic67が作成したものです。 内容の大半は、出発点であったokwaveでのある質問に関する temmusu_nagoya さんの回答を整理し要点をまとめたものですが、現在ではその他の方の調査結果、意見等も組み込みつつあります。 この内容に問題がある場合、あるいは「この論点も載せて欲しい」「この調査結果にリンクをしてほしい」といった提案などはtwitter #掛算 タグつきで @kmic67 へリプライをください。 以下、本文 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 というわけで、C4については確かにそう書かれているが、C2、C3については根拠がない(メタメタさん調査結果1,2,3)。 しかし、一般常識と異なる教育を行うならC4だけでは根拠としては不十分。議論の筋道としてはC1が成り立たなければ意味がない。C1が成り立つならばその後のC2~C4も正当性を主張しうるが、そもそもC1が成り立たないならそれ以後はすべて否定されるもの。 そしてそのC1の効果も実際には疑わしい。 imageプラグインエラー ご指定のURLはサポートしていません。png, jpg, gif などの画像URLを指定してください。 (上図の右下にある、水色・点線枠の2つの項目は、temmusu_nagoyaさん発言ではなく、当ページまとめ人の開米@kmic67が書きました)
https://w.atwiki.jp/jasagiri/pages/35.html
認定制度 http //www.infoq.com/jp/articles/rubyexam http //projects.netlab.jp/ruby-test/index.html http //itpro.nikkeibp.co.jp/article/COLUMN/20080115/291042/ http //blog.champierre.com/archives/723 http //d.hatena.ne.jp/yuichi_katahira/20090406/1239025810 rubygems GitHubを新しいレポジトリに追加する。 gem sources -a http //gems.github.com/ リファクタリング 練習問題 http //www.oiax.jp/rails/ruby-ex/refactoring_1.html RFactor http //github.com/fabiokung/rfactor/tree/master http //www.infoq.com/jp/news/2009/03/rfactor reek http //github.com/kevinrutherford/reek/tree/master Rufus http //rufus.rubyforge.org/rufus-treechecker/files/README_txt.html http //www.happiese.com/system/refactoring.html http //www.confrage.com/eclipse/ rubigen http //rubigen.rubyforge.org/
https://w.atwiki.jp/hmiku/pages/33420.html
【登録タグ 曖昧さ回避】 曖昧さ回避のためのページ 合成音声Ruby/合成音声 Clean Tearsの曲Ruby/Clean Tears へっどふぉんの曲Ruby/へっどふぉん 曖昧さ回避について 曖昧さ回避は、同名のページが複数存在してしまう場合にのみ行います。同名のページは同時に存在できないため、当該名は「曖昧さ回避」という入口にして個々のページはページ名を少し変えて両立させることになります。 【既存のページ】は「ページ名の変更」で移動してください。曖昧さ回避を【既存のページ】に上書きするのはやめてください。「〇〇」という曲のページを「〇〇/作り手」等に移動する場合にコピペはしないでください。 曖昧さ回避作成時は「曖昧さ回避の追加の仕方」を参照してください。 曖昧さ回避依頼はこちら→修正依頼/曖昧さ回避追加依頼
https://w.atwiki.jp/utauuuta/pages/1183.html
【登録タグ r へっどふぉん 千音ルリ 曲】 作詞:へっどふぉん 作曲:へっどふぉん 編曲:へっどふぉん 唄:千音ルリ 曲紹介 音楽コンテストコミュニティサイト「クレオフーガ」が開催した「Rubyイメージソングコンテスト」応募作品。 「Ruby」とはプログラミング言語の一種。 【どんなプログラムでも、メリットデメリットがある。でもあきらめずに改善を重ねてよくなっていく】という意味を込めた歌。 歌詞 いろんな可能性 無限に広がった 世界生まれ 動き出した 謎を解く術を 助ける自然体 未知の革命 動かす心を その繰り返し 働かすうち 文字は見えない いつも 強がって すぐ立ち上がる 「完成じゃない」と 言うんだ キミの色 ボクの色 それぞれ違っても 役目はある 動けばいい 季節 時は過ぎ 幾度の困難を 乗り越えれる? いろんな可能性 無限に広がった 世界生まれ 動き出した 謎を解く術を 助ける自然体 未知の革命 夢さえ みる すべて 世界さえ 捨てられた紋様 いろんな可能性 無限に広がった 世界生まれ 動き出した 謎を解く術を 助ける自然体 未知の革命 光を映し出す画面に導かれ 覗き込んだ僕の世界 キミといつまでも 輝き続けてく Rubyを持つ (PIAPROより転載、一部動画内歌詞に合わせて編集) コメント 名前 コメント
https://w.atwiki.jp/sawa2/pages/19.html
ruby 日本語環境 好きな文字コードでrubyのコードを実行するには。 YAML Railsなどを使っていても何かと使えるYAMLに関するメモ Vpim 携帯電話のアドレス帳などのデータであるVCFファイルを読み込むためのメモ
https://w.atwiki.jp/opentfc/pages/86.html
テキストファイルの各行から,正規表現にマッチした行を取り除いて表示する 正規表現 Ruby 配列あれこれ 簡易版wcコマンド(例外処理rescure) ディレクトリとファイルの一覧を配列で取得 モジュールを作る テキストデータを1行ずつ読み込んで表示する テキストデータの行頭と行末に文字列を追加する テキストファイルの各行から,正規表現にマッチした行を取り除いて表示する マッチした部分だけを取り除くのではなく,行ごと取り除く filename = ARGV[0] file = open(filename) while text = file.gets if (text =~ /\#\+BEGIN/) || (text =~ /\#\+END/) next else print text end end 正規表現 Ruby 配列あれこれ a[n]からa[m]まで a[n..m] a[n]からa[m-1]まで a[n...m] a[n]からlen個取り出す a[n, len] 要素を挿入 インデクスnから任意の個数挿入 a[n, 0] a = [0,1,2,3,4,5] = [0, 1, 2, 3, 4, 5] a[2, 0] = ["a", "b"] = ["a", "b"] a = [0, 1, "a", "b", 2, 3, 4, 5] 置き換えもできる。 簡易版wcコマンド(例外処理rescure) ## 簡易版wcコマンド ltotal = 0 # 行数の合計 wtotal = 0 # 単語数の合計 ctotal = 0 # 文字数の合計 ARGV.each do |file| begin input = open(file) l, w, c = 0, 0, 0 while line = input.gets l += 1 c += line.size line.sub!(/^\s+/, "") # 行頭の空白を削除 ary = line.split(/\s+/) # 空白文字で分解する w += ary.size end input.close printf("%8d %8d %8d %s\n", l, w, c, file) # 出力の整形 ltotal += l wtotal += w ctotal += c rescue = ex print ex.message, "\n" # 例外のメッセージを出力 end end printf("%8d %8d %8d %s\n", ltotal, wtotal, ctotal, "total") ディレクトリとファイルの一覧を配列で取得 シェルのワイルドカード風のパターンマッチ Dir.glob("*.html") パターン 意味 * 任意の文字列 ** 「*/」の任意の回数の繰り返し ? 任意の一文字 [abc] a, b, cのいずれか一文字 [^abc] a, b, c以外の一文字 [a-z] ASCII文字のaからzのいずれか {foo,bar,baz} foo,bar,bazのいずれか sortする (.cか.hのいずれかを取得して) Dir.glob("*.[ch]").sort モジュールを作る module モジュール名 モジュールの定義 end 例 module HelloModule Version = "1.0" # 定数の定義 def hello(name) # メソッドの定義 print "Hello, ", name, ".\n" end module_function hello # helloをモジュール関数として公開する end ## includeしない p HelloModule Version # 定数の呼び出し HelloModule.hello("Alice") # メソッドの呼び出し ## includeする include HelloModule p Version hello("Alice") テキストデータを1行ずつ読み込んで表示する filename = ARGV[0] file = open(filename) while text = file.gets print text end file.close file.each_line do |line| print line end とかでもいける テキストデータの行頭と行末に文字列を追加する テキストデータを読み込み行末に文字を追加するには,改行文字を取り除かないといけない file = open(ARGV[0], "r") while text = file.gets text = text.chomp # 改行文字を取り除く print "(",text,")\n" end file.close 以下未整理 1. コマンドラインからのデータ入力 Ruby 2. 便利なオブジェクト Ruby 4. オブジェクトと変数・定数 Ruby 7. メソッド Ruby 8. クラスとモジュール Ruby 繰り返し for文 一般的な構文 for 変数 in オブジェクト do 処理 end doは省略可能. #例 sum = 0 for i in 1..5 sum = sum + i end print sum,"\n" 「..」や「...」は範囲オブジェクトである. オブジェクトを配列にした場合の例を載せる. names = ["aa" , "bb" , "cc" , "dd"] for name in names print name,"\n" end 配列の中から1つずつ要素を取り出して、それぞれを表示する. while文 while 条件 do 処理 end ### 例 1から10までの数を順番に表示する i = 1 while i = 10 print i, "\n" i = i + 1 end timesメソッド 回数が決まっているときはこっちが楽. 繰り返す回数.times do 処理 end 条件分岐 if文 if 条件 then 文 end if 条件1 then 文1 elsif 条件2 then 文2 else 文3 end ファイル入出力 IOクラスのサブクラスであるFileクラスで行える. Fileクラスにはファイルの削除やファイルの属性変更など,ファイルシステムに特化した機能が実装されているが, 基本的な入出力操作はIOクラスから受け継いだメソッドを使う。 ファイルを開いて新しいFileオブジェクトを得るには, openメソッド,またはFile.openメソッドを使う。 io = open(file , mode) io = File.opne(file , mode) modeには以下のモードを指定する. モード 意味 "r" 読み込み専用でファイルを開く "r+" 読み込み / 書き込み用としてファイルを開く "w" 書き込み専用でファイルを開く.ファイルがなければ新たに作成する.またすでに存在する場合には,ファイルサイズを0にする. "w" 読み込み / 書き込み用,その他は"w"と同じ "a" 追加書き込み専用でファイルを開く,ファイルがなければ新たに作成する "a+" 読み込み / 追加書き込み用としてファイルを開く.ファイルがなければ新たに作成する. 算術演算 演算子 演算 + 加算 - 減算 * 乗算 / 除算 % 剰余 ** べき乗 IntegerオブジェクトとFloatオブジェクトを計算した結果はFloatオブジェクトになる. 割り算 数値オブジェクトには,/と%の他にも割り算に関するメソッドがある. x.divmod(y) xをyで割ったときの商と余りを,配列にして返す. Mathモジュール 三角関数や対数関数などの数学っぽいやつの演算で使うモジュール. Math.sqrt(2) のようにモジュール名を明示的に指定する方法と, include Math でインクルードする方法がある. #例 f = 2 p Math.sqrt(f) include Math # Mathモジュールのインクルード p sqrt(f) Mathモジュールで提供されるメソッドで,よく使いそうなメソッド メソッド名 意味 cos(x) 余弦関数 sin(x) 正弦関数 exp(x) 指数関数 log(x) 底をeとする対数 log10(x) 底を10とする対数 lox2(x) 底を2とする対数 sqrt(x) 平方根 Mathモジュールが提供する定数 定数名 意味 PI 円周率 E 自然対数の底e 複素数 require "complex" # Ruby 1.9では不要 a = Complex(3, 5) b = Complex(2, 4) p a*b # = Complex(-14, 22) 実部と虚部を取り出すには,Complex#real,Complex#image p a.real p a.image 配列 配列の作り方 nums = [1, 2, 3, 4, 5] strs = ["a", "b", "c", "d"] 他には,Arraw.newを使う. a = Array.new p a #= [] a = Array.new(5) p a #= [nil, nil, nil, nil, nil] a = Array.new(5, 0) p a #= [0, 0, 0, 0, 0] 要素が文字列で空白を含まないなら,%wを使える. lang = %w(Ruby Perl Python [[Scheme]] Pike REBOL) p lang #= ["Ruby", "Perl", "Python", "Scheme", "Pike", "REBOL"] インデックスの使い方 配列にインデックスを指定することで,要素を取り出せる. a[n] 18. 18.9 多重代入 メソッドから複数の返り値を得る。 def hogehoge() ... return x, y, z end このメソッドを使う際に, a, b, c = hogehoge() とすると, a = x, b = y, c = zとなる。
https://w.atwiki.jp/kuwa0224kuwa/pages/14.html
ruby の勉強メモ 基本 標準出力方法 puts "Hello World" # 改行あり print ("Hello", "World") # 改行なし コマンドラインの引数扱い puts ARGV[0] + " " + ARGV[1] コマンドラインのオプション扱い Option Perser を使う。 - http //www.ruby-lang.org/ja/man/html/OptionParser.html require "optparse" opts = OptionParser.new opts.on("-a"){|v| puts "indicated a." } # -a オプションがコマンドラインで指定されていた場合の動作。 opts.parse!(ARGV) if文の書き方 # Pattern 1 if city == "Tokyo" then print("東京です") elsif city == "Osaka" then print("大阪です") elsif city == "Nagoya" then print("名古屋です") else print("その他の都市です") end # Pattern 2 print("num = ", num) if debug # Pattern 3 (not if) unless old 20 then print(Kconv.tosjis("年齢は"), old, Kconv.tosjis("です\n")) print(Kconv.tosjis("20歳以上ですのでご利用できます\n")) end 繰り返し文の書き方 # while statement num = 0 while num 4 do print("num = ", num) num = num + 1 end # until statement num = 0 until num = 4 do print("num = ", num) num = num - 1 end # for statement for num in 0..3 do print("num = ", num) end エラー処理 begin puts "Execute" rescue = ex puts ex.class puts ex.message puts ex.backtarce ensure if ex then puts "Error occured" else puts "No Error" end 入力待ち print "Please any chars " line = STDIN.gets puts "input text #{line}" OSコマンド呼び出し # Pattern 1 result = `ls -l` print result # this is simplest. # result has result of command. # if error occurs, prints error. # Pattern 2 result = system("ls -lh") print result # system prints result of command(even if error). # result has true or false. # Pattern 3 begin result = exec("ls -lh") print result rescue puts "error" end # exec prints result of command(even if error). # if command is unknown, this can catch exception. # Pattern 4 result = open("|ls -l") while !result.eof print result.gets end # result has result of command # this can write. 環境変数取得 print ENV["LANG"] 設定ファイル読み込み require yaml config = YAML.load_file("config.yml") p config["dictype"][0] #= "dym" # in config.yml dictype - dym - rltd ファイル・ディレクトリ操作 ここ使える。 http //www.ruby-lang.org/ja/man/html/fileutils.html 存在確認 print File.exist?("temp.rb") ディレクトリ移動 require fileutils FileUtils.cd( /usr/local/var/log ) ディレクトリ作成 require fileutils FileUtils.mkdir_p( /usr/local/lib/ruby ) ファイル・ディレクトリコピー require fileutils FileUtils.cp_r("sample.txt", "tmp") ファイル・ディレクトリ切り取り require fileutils FileUtils.mv([ junk.txt , dust.txt ], "#{ENV[ HOME ]}/.trash") ディレクトリ削除 require fileutils FileUtils.rm( junk.txt ) 対象行抽出(grep) OSコマンドを使うのが一番。ちなみに、list からgrepで引っ張る方法はある。 p [ aa , bb , cc , dd , ee ].grep(/[bc]/) # = ["bb", "cc"] 差分 OSコマンドを使うのが一番。ちなみに、diffがあるかないかぐらいなら引っ張る方法はある。 require fileutils FileUtils.cmp( somefile , somefile ) sha1sum取得 require digest/sha1 print Digest SHA1.hexdigest(File.open( temp.rb ).read) シムリンク作成 require fileutils FileUtils.ln_s( /usr/bin/ruby , /usr/local/bin/ruby ) # original is /usr/bin/ruby その他 日付取得 day = Time.now print day.strftime("%Y/%m/%d_maint") SVNダウンロード OSコマンドを使うのが一番。 SubversionのRuby用bindingを利用することもできるらしいけど、インストール方法がよくわからん。。 CVSダウンロード OSコマンドを使うのが一番。 Httpアクセス require net/http Net HTTP.version_1_2 # おまじない Net HTTP.start( www.iana.org , 80) {|http| response = http.get( /index.html ) puts response.body } # use Proxy require net/http Net HTTP.version_1_2 # おまじない Net HTTP Proxy("your.proxy.addr", 8080).start( www.iana.org , 80) {|http| response = http.get( /index.html ) puts response.body }